____ _ _ _ _
| _ \ ___ | |_ (_) _ __ ___ __| | (_) __ _
| |_) | / _ \ | __| | | | '_ \ / _ \ / _| | | | / _ |
| _ < | __/ | |_ | | | |_) | | __/ | (_| | | | | (_| |
|_| \_\ \___| \__| |_| | .__/ \___| \__,_| |_| \__,_|
|_|
- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b
Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―
Algorithmus von Hierholzer
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
top
Der Algorithmus von Hierholzer ist ein Algorithmus aus dem Gebiet der Graphentheorie, mit dem man in einem ungerichteten Graphen einen Eulerkreis bestimmt. Er geht auf Ideen von Carl Hierholzer zurΓΌck.
Voraussetzung: Sei G = ( V , E ) {\displaystyle G=(V,E)} ein zusammenhΓ€ngender Graph, der nur Knoten mit geradem Grad aufweist.
1. WΓ€hle einen beliebigen Knoten v 0 β β V {\displaystyle v_{0}\in V} des Graphen und konstruiere von v 0 {\displaystyle v_{0}} ausgehend einen Unterkreis K {\displaystyle K} in G {\displaystyle G} , der keine Kante in G {\displaystyle G} zweimal durchlΓ€uft.
2. Wenn K {\displaystyle K} ein Eulerkreis von G ist, also alle Kanten von G enthΓ€lt, breche ab. Andernfalls:
3. VernachlΓ€ssige nun alle Kanten des Unterkreises K {\displaystyle K} .
4. Am ersten Eckpunkt von K {\displaystyle K} , dessen Grad grΓΆΓer 0 ist, lΓ€sst man nun einen weiteren Unterkreis K β² {\displaystyle K'} in G entstehen, der keine Kante in K {\displaystyle K} β also keine schon besuchte Kante β durchlΓ€uft und keine Kante in G {\displaystyle G} zweimal enthΓ€lt.
5. FΓΌge in K {\displaystyle K} den zweiten Kreis K β² {\displaystyle K'} ein, indem in K {\displaystyle K} der Startknoten von K β² {\displaystyle K'} durch alle Knoten von K β² {\displaystyle K'} in der richtigen Reihenfolge ersetzt wird.
6. Nenne jetzt den so erhaltenen Kreis K {\displaystyle K} und fahre bei Schritt 2 fort.
Die KomplexitΓ€t des Algorithmus ist linear in der Anzahl der Kanten.
Contents
β’ Beispiel
β’ Literatur
β’ Weblinks
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Beispiel
Gegeben sei ein Eulergraph mit neun Knoten (siehe erste Abbildung). Ein Zyklus vom Startknoten 1 wΓ€re beispielsweise die in der zweiten Abbildung blau dargestellte Knotenfolge C blau = ( 1 , 2 , 3 , 7 , 1 ) {\displaystyle C_{\text{blau}}=(1,2,3,7,1)} . Nach Entfernen dieser Kanten haben die Knoten 1, 3 und 7 der bisher gebildeten Zykel noch einen Knotengrad grΓΆΓer Null, welche als Startknoten fΓΌr den nΓ€chsten Zyklus in Frage kommen. Vom Startknoten 3 aus kann man den Kreis C rot = ( 3 , 1 , 8 , 7 , 4 , 3 ) {\displaystyle C_{\text{rot}}=(3,1,8,7,4,3)} bilden (in der dritten Abbildung rot). WΓ€hlt man nun als Startknoten den Knoten 7, kann man von den ΓΌbrig gebliebenen Kanten den Zykel C grΓΌn = ( 7 , 6 , 9 , 5 , 4 , 9 , 7 ) {\displaystyle C_{\text{grΓΌn}}=(7,6,9,5,4,9,7)} bilden. Setzt man jetzt C grΓΌn {\displaystyle C_{\text{grΓΌn}}} in C rot {\displaystyle C_{\text{rot}}} an Stelle des Knoten 7 ein, erhΓ€lt man den Zykel ( 3 , 1 , 8 , 7 , 6 , 9 , 5 , 4 , 9 , 7 , 4 , 3 ) {\displaystyle (3,1,8,7,6,9,5,4,9,7,4,3)} . Setzt man diesen in C blau {\displaystyle C_{\text{blau}}} an Stelle des Knoten 3 ein, erhΓ€lt man die mΓΆgliche Eulertour ( 1 , 2 , 3 , 1 , 8 , 7 , 6 , 9 , 5 , 4 , 9 , 7 , 4 , 3 , 7 , 1 ) {\displaystyle (1,2,3,1,8,7,6,9,5,4,9,7,4,3,7,1)} wie in der letzten Abbildung gezeigt.
Literatur
β’ Carl Hierholzer: Ueber die MΓΆglichkeit, einen Linienzug ohne Wiederholung und ohne Unterbrechung zu umfahren. Mathematische Annalen VI (1873), 30β32. [1]
β’ Sven Oliver Krumke, Hartmut Noltemeier: Graphentheoretische Konzepte und Algorithmen. Teubner, Wiesbaden 2005, ISBN 3-519-00526-3, S. 45β48
Weblinks
β’ Applet zur Visualisierung
β’ Eulerscher Graph. In: Springer Lexikon der Mathematik. (mit einer Darstellung des nach Hierholzer benannten Algorithmus)
β’ Oliver Deiser: Der Algorithmus von Hierholzer. In: EinfΓΌhrung in die Mathematik 2.1 β Elementare Zahlentheorie und Graphentheorie. 6. Oktober 2022.